<!--
Copyright (c) 2025 Sidero Labs, Inc.

Use of this software is governed by the Business Source License
included in the LICENSE file.
-->
<script setup lang="ts">
import RadioGroup from '@/components/common/Radio/RadioGroup.vue'
import RadioGroupOption from '@/components/common/Radio/RadioGroupOption.vue'
import TInput from '@/components/common/TInput/TInput.vue'
import type { FormState } from '@/views/omni/InstallationMedia/InstallationMediaCreate.vue'

const formState = defineModel<FormState>({ required: true })
</script>

<template>
  <div class="flex flex-col gap-4">
    <TInput v-model="formState.name" title="Name" overhead-title />

    <RadioGroup v-model="formState.hardwareType" label="Hardware Type">
      <RadioGroupOption value="metal">
        Bare-metal Machine

        <template #description>
          Suitable for x86-64 and arm64 bare-metal machines, as well as generic virtual machines. If
          unsure, choose this option.
        </template>
      </RadioGroupOption>

      <RadioGroupOption value="cloud">
        Cloud Server

        <template #description>
          Compatible with AWS, GCP, Azure, VMWare, Equinix Metal, and other platforms, including
          homelab environments like Proxmox.
        </template>
      </RadioGroupOption>

      <RadioGroupOption value="sbc">
        Single Board Computer

        <template #description>
          Supports Raspberry Pi, Pine64, Jetson Nano, and similar devices.
        </template>
      </RadioGroupOption>
    </RadioGroup>
  </div>
</template>
